/*
 * 
 *
 * Authors: Soeren Gebbert, soeren.gebbert@vti.bund.de
 *          Axel Don, axel.don@vti.bund.de
 *
 * Copyright:
 *
 * Johann Heinrich von Thünen-Institut
 * Institut für Agrarrelevante Klimaforschung
 *
 * Phone: +49 (0)531 596 2601
 *
 * Fax:+49 (0)531 596 2699
 *
 * Mail: ak@vti.bund.de
 *
 * Bundesallee 50
 * 38116 Braunschweig
 * Germany
 *
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; version 2 of the License.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#ifndef RUNTIME_PARAMETERS_H
#define RUNTIME_PARAMETERS_H

#include <iostream>
#include <fstream>

/* Parameter which may change each iteration */
class runtime_parameters {
public:    
    unsigned int timestep; /* The start timestep of this configuration file */
    float dxmicr; /* Diffusion dominated movement of micro-organism per timestep in x direction */
    float dymicr; /* Diffusion dominated movement of micro-organism per timestep in y direction */
    float dzmicr; /* Diffusion dominated movement of micro-organism per timestep in z direction */
    float dxcarb; /* Diffusion dominated movement of carbon particles timestep in x direction */
    float dycarb; /* Diffusion dominated movement of carbon particles timestep in y direction */
    float dzcarb; /* Diffusion dominated movement of carbon particles timestep in z direction */
    float carbon_flow; /* The gravitational dominated velocity in z direction */
    unsigned int new_carb_particles; /* Maximum number of new carbon particles per iteration */
    float total_carb_input_mass;        /* The Mass of all added carbon particles in a single timestep */
    float respiration_rate;     /* fraction of carbon respired by microbes per time step */
    float radius;               /* respiration radius around microbes */
    unsigned int doc_fraction; /* The fraction of dissolved organic carbon that is effected by gravity */
    /*  
     * We use the constructor to initiate default values
     */
    runtime_parameters();
    /* Read the runtime parameter file */
    void read(char *filename);
};
#endif
